package com.sgcc.statistics.mapper;

import java.util.List;
import java.util.Map;

import com.sgcc.statistics.domain.OOperationIndex;
import com.sgcc.statistics.domain.dto.IndexMapBindDto;
import com.sgcc.statistics.domain.dto.OrgAndAreaInfoDto;
import com.sgcc.system.api.domain.SysDept;
import org.apache.ibatis.annotations.Param;

/**
 * OOperationIndexMapper接口
 * 
 * @author sgcc
 * @date 2021-04-13
 */
public interface OOperationIndexMapper 
{
    /**
     * 查询OOperationIndex
     * 
     * @param id OOperationIndexID
     * @return OOperationIndex
     */
    public OOperationIndex selectOOperationIndexById(String id);

    /**
     * 查询OOperationIndex列表
     * 
     * @param oOperationIndex OOperationIndex
     * @return OOperationIndex集合
     */
    public List<OOperationIndex> selectOOperationIndexList(OOperationIndex oOperationIndex);

    /**
     * 新增OOperationIndex
     * 
     * @param oOperationIndex OOperationIndex
     * @return 结果
     */
    public int insertOOperationIndex(OOperationIndex oOperationIndex);

    /**
     * 修改OOperationIndex
     * 
     * @param oOperationIndex OOperationIndex
     * @return 结果
     */
    public int updateOOperationIndex(OOperationIndex oOperationIndex);

    /**
     * 删除OOperationIndex
     * 
     * @param id OOperationIndexID
     * @return 结果
     */
    public int deleteOOperationIndexById(String id);

    /**
     * 批量删除OOperationIndex
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteOOperationIndexByIds(String[] ids);

    List<SysDept> getChildrenByIdAndType(@Param("pid") String pid, @Param("type") String type);

    List<OrgAndAreaInfoDto> getAreaByIds(@Param("ids") List<String> orgNos);

    List<OrgAndAreaInfoDto> getAreaByOrgId(@Param("orgNo") String orgNo);

    List<IndexMapBindDto> indexMapBind(Map<String, Object> condition);

    SysDept getDeptByCode(String orgNo);
}
